Skip to main content

Variableninitialisierung

Der Standard-Initialisierungswert für alle Deklarationen ist 0. Im Deklarationsteil können Sie für jede Variable und jeden Datentyp auch benutzerdefinierte Initialisierungswerte angeben.

Die benutzerdefinierte Initialisierung beginnt mit dem Zuweisungsoperator := und besteht aus einem beliebigen, gültigen Ausdruck der Programmiersprache ST (strukturierter Text). Somit definieren Sie den Initialisierungswert mit Hilfe von Konstanten, anderen Variablen oder Funktionen. Wenn Sie eine Variable verwenden, müssen Sie diese ebenfalls initialisieren.

Tabelle 5. Standard-Initialisierungswerte

Datentyp

Initialisierungswert

beliebiger Zahlendatentyp

0

jeder Pointer

0

BOOL

FALSE

ARRAY OF

Der Standard-Initialisierungswert von jedem Element

Struktur

Wenn für die einzelnen Elemente kein expliziter Wert in der Deklaration festgelegt wurde, ist der Standardwert des Datentyps der Initialisierungswert.



Beispiel 13. Beispiele
VAR
    var1:INT := 12;    //initialization value 12
    x : INT := 13 + 8;    //initalization value defined by an expression of constants
    y : INT := x + fun(4);    //initialization value defined by an expression,
                              //that contains a function call; notice the order!
    z : POINTER TO INT := ADR(y);   //not described in the standard IEC61131-3:
                                    // initialization value defined by an adress function;
                                    // Notice: In this case the pointer will not be initialized
                                    // during an Online Change *)
END_VAR


Hinweise zur Initialisierungsreihenfolge

Als erstes die Konstanten

Ab Compiler-Version 3.5.3.40 werden Variablen in einem Funktionsbaustein in folgender Reihenfolge initialisiert: Zuerst alle Konstanten gemäß der Reihenfolge ihrer Deklarationen, danach alle anderen Variablen gemäß der Reihenfolge ihrer Deklarationen.

Globale Variablen vor lokalen Variablen

Ab Compiler-Version 3.3.2.0 werden Variablen aus globalen Variablenlisten immer vor den lokalen Variablen einer POU initialisiert.

Für weitere Informationen siehe Deklaration und Initialisierung von Strukturvariablen und Pragma 'global_init_slot'.